package com.gpstracking.BE;

import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * Servicio entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "servicio", catalog = "gpstracking")
public class Servicio implements java.io.Serializable {

	// Fields

	private Integer idServicio;
	private String nombre;
	private Double precio;
	private String periodo;
	private Set<Serviciousuario> serviciousuarios = new HashSet<Serviciousuario>(
			0);

	// Constructors

	/** default constructor */
	public Servicio() {
	}

	/** minimal constructor */
	public Servicio(Integer idServicio, String nombre, Double precio,
			String periodo) {
		this.idServicio = idServicio;
		this.nombre = nombre;
		this.precio = precio;
		this.periodo = periodo;
	}

	/** full constructor */
	public Servicio(Integer idServicio, String nombre, Double precio,
			String periodo, Set<Serviciousuario> serviciousuarios) {
		this.idServicio = idServicio;
		this.nombre = nombre;
		this.precio = precio;
		this.periodo = periodo;
		this.serviciousuarios = serviciousuarios;
	}

	// Property accessors
	@Id
	@Column(name = "idServicio", unique = true, nullable = false)
	public Integer getIdServicio() {
		return this.idServicio;
	}

	public void setIdServicio(Integer idServicio) {
		this.idServicio = idServicio;
	}

	@Column(name = "Nombre", nullable = false, length = 45)
	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	@Column(name = "Precio", nullable = false, precision = 22, scale = 0)
	public Double getPrecio() {
		return this.precio;
	}

	public void setPrecio(Double precio) {
		this.precio = precio;
	}

	@Column(name = "Periodo", nullable = false, length = 50)
	public String getPeriodo() {
		return this.periodo;
	}

	public void setPeriodo(String periodo) {
		this.periodo = periodo;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "servicio")
	public Set<Serviciousuario> getServiciousuarios() {
		return this.serviciousuarios;
	}

	public void setServiciousuarios(Set<Serviciousuario> serviciousuarios) {
		this.serviciousuarios = serviciousuarios;
	}

}